The assignee of the present invention develops robotic systems for, inter alia, planetary exploration and satellite servicing. For example, a robotic manipulator suitable for satellite servicing has been developed for the Defense Advanced Research Projects Agency (DARPA) Front-end Robotics Enabling Near-term Demonstration (FREND) program. The FREND robotic manipulator, illustrated in FIG. 1, is a seven degree of freedom (DOF) robotic arm. A sequence of seven revolute joints are organized as a 3 DOF “shoulder” joint 110 proximate to base 105 of robotic arm 100, and a 3 DOF “wrist” joint 130 proximate to an end effector (not shown). Linking the shoulder joint and wrist joint, and disposed therebetween, is a 1 DOF “elbow” joint 120.
In addition to satellite servicing, manipulators such as the FREND robotic manipulator may be used for industrial applications, and remote teleoperations during planetary or under seas exploration missions, and national defense operations, for example. Desirably, the controller for such manipulators should be configured to support efficient planning of arm movements, as well as autonomous or semi-autonomous operations of the arm. For example, the controller should be configured to determine, for a given desired end effector three axis position and orientation (which may be referred to hereinafter as the “tool control point”, or TCP), a description of one or more sets of joint angles that will achieve the TCP. Making the above mentioned determination may be referred to as finding the solutions satisfying the inverse kinematic expressions that relate TCP to joint angles.
Although solution of the forward kinematic equations, i.e., finding the TCP resulting from a given a set of joint angles, is straightforward, closed-form solutions to the reverse kinematic expressions have proven elusive for 7 DOF manipulators such as the FREND robotic manipulator. As a result, operating, and planning the operation of such manipulators has required computationally-intensive techniques such as Newton-Raphson converging approximations, for example. Such techniques are undesirable, particularly for remote teleoperations in space, or for other hostile environments and applications where computational resources may be limited and/or processing speed may be critical. Moreover, such techniques generally produce only a single solution, whereas, for a 7 DOF manipulator, there will usually be a sheaf of possible joint angle solutions to achieve a particular TCP.
As a result, an improved approach to a robotic manipulator controller that makes use of a closed-form inverse kinematic solution is desirable.